La grammatica FMPXMLRESULT contiene informazioni supplementari sul database che non sono contenute nella grammatica FMPDSORESULT, quali il numero di record, i tipi di record e i formati dei campi. I dati XML utilizzano questi elementi e attributi per eseguire la verifica correttamente.
Utilizzare la grammatica FMPXMLRESULT per ottenere le informazioni METADATA fornite da questa grammatica. Poiché in FileMaker Pro sono supportate sia l'importazione sia l'esportazione nella grammatica FMPXMLRESULT, questo formato è utile per trasferire i dati tra i file di FileMaker Pro.
Nota La grammatica FMPXMLRESULT non è molto adatta per essere utilizzata con i fogli di stile sovrapposti (CSS). Utilizzare la grammatica FMPDSORESULT per usare i fogli di stile sovrapposti con i dati XML.
Nella grammatica FMPXMLRESULT, l'elemento DATABASE contiene gli attributi NAME, RECORDS, DATEFORMAT, LAYOUT e TIMEFORMAT.
L'attributo DATEFORMAT specifica il formato della data nel documento XML.
|
L'attributo TIMEFORMAT specifica il formato dell'ora nel documento XML.
|
L'elemento METADATA contiene uno o più elementi FIELD, ognuno dei quali contiene informazioni per uno dei campi/colonne, compresi il nome del campo definito nel database, il tipo di campo, l'autorizzazione Yes o No per i campi vuoti (attributo EMPTYOK) e il numero massimo di valori multipli (attributo MAXREPEAT). I valori validi per i tipi di campo sono TEXT, NUMBER, DATE, TIME, TIMESTAMP e CONTAINER.
L'elemento RESULTSET contiene tutti gli elementi ROW che definiscono i dati del record nell'origine XML. Ogni elemento ROW contiene i dati del campo o della colonna per una riga nel gruppo di risultati, compresi l'ID record e l'ID modifica della riga, mentre l'elemento COL contiene i dati del campo o della colonna nella riga (dove gli elementi multipli DATA rappresentano uno dei valori nel campo multiplo o del portale).
L'esportazione XML non supporta l'esportazione dei dati dei campi Contenitore.
L'ordine degli elementi COL corrisponde all'ordine degli elementi FIELD nell'elemento METADATA; ad esempio, l'ordine in cui sono elencati gli elementi "First Name", "Last Name" e "Department" nell'elemento METADATA è lo stesso in cui "Joe", "Smith" e "Engineering" sono elencati in RESULTSET ROW.
Note
![]() |
Prima di importare i dati XML, FileMaker Pro utilizza un parser XML basato su Xerces e un elaboratore XSLT basato su Xalan per verificare che non vi siano i seguenti errori nei dati XML (o XSL): |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Quando i dati XML sono in formato FMPXMLRESULT ed è in corso la verifica rispetto alle impostazioni DTD di FileMaker, gli XML non possono contenere impostazioni DTD interne. Qualsiasi impostazione DTD interna (anche se si tratta di impostazioni DTD FMPXMLRESULT) provoca la generazione di un messaggio di errore da parte del parser e l'interruzione del processo di importazione. I dati XML possono contenere riferimenti a qualsiasi impostazione DTD esterna, che però il parser ignorerà a favore delle impostazioni DTD FMPXMLRESULT.
![]() |
Anche se i dati XML importati devono essere conformi alla grammatica FMPXMLRESULT, alcuni elementi e attributi non vengono utilizzati durante l'importazione. I dati XML utilizzano questi elementi e attributi per eseguire la verifica correttamente. Nella tabella seguente sono definiti gli elementi e gli attributi utilizzati durante l'importazione XML e vengono elencati i valori predefiniti per gli attributi. In molti casi i valori degli attributi possono essere nulli (ad esempio |
Esempio di dati XML nella grammatica FMPXMLRESULT
Di seguito è riportato un esempio di dati XML generati con la grammatica FMPXMLRESULT. Per informazioni dettagliate sulla definizione del tipo di documento (DTD) per la grammatica, vedere il file fmpxmlresult_dtd.htm
che si trova nella cartella Extra
della propria lingua, nella cartella in cui è installata l'applicazione FileMaker Pro.
<?xml version="1.0" encoding="UTF-8"?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="5/23/2002" NAME="FileMaker Pro"
VERSION="7.0"/>
<DATABASE DATEFORMAT="MM/dd/yy" LAYOUT="summary"
NAME="Employees.fp7" RECORDS="23" TIMEFORMAT="hh:mm:ss"/>
<METADATA>
<FIELD EMPTYOK="NO" MAXREPEAT="1" NAME="First Name" TYPE="TEXT"/>
<FIELD EMPTYOK="NO" MAXREPEAT="1" NAME="Last Name" TYPE="TEXT"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Department" TYPE="TEXT"/>
</METADATA>
<RESULTSET FOUND="2">
<ROW MODID="47" RECORDID="34">
<COL>
<DATA>Joe</DATA>
</COL>
<COL>
<DATA>Smith</DATA>
</COL>
<COL>
<DATA>Engineering</DATA>
</COL>
</ROW>
<ROW MODID="89" RECORDID="78">
<COL>
<DATA>Susan</DATA>
</COL>
<COL>
<DATA>Jones</DATA>
</COL>
<COL>
<DATA>Marketing</DATA>
</COL>
</ROW>
</RESULTSET>
</FMPXMLRESULT>